package com.geline.mybatisplus.annotation;

import java.lang.annotation.*;

/**
 * 更新状态字段：
 * 根据主表属性totalKey,自动查询完成数，再计算状态
 * 主表状态有3+种状态：初始、部分完成、已完成、其它状态值
 * 子表状态有3+种状态：初始、部分完成、已完成、其它状态值
 *
 * @author mx
 * @date 2025/10/10
 */
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExtractStatus3 {

    //[总数]汇总字段
    String totalKey();

    //查询字段
    String selectColumn() default "count(1)";

    //状态字段:用于构造条件 and in_storage_status='2' （如果未配置，使用当前fieldName转下划线）
    String statusColumn() default "";

    //初始值
    String initValue() default "0";

    //部分完成值
    String partValue() default "1";

    //全部完成值
    String overValue() default "2";

    //其它值(举例：子表全为F时,主表赋值F；支持多个类型 F,M )
    String otherValues() default "";
}
